﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace KanaLearn
{
    public partial class KanaLearn : Form
    {
        
        int rodzaj = 0, loop;
        int nrimg, ile;
        Random Losowy = new Random();
        Hiragana Hira = new Hiragana();
        Katakana Kata = new Katakana();

        void SprawdzHira()
        {
            if (inputbox.Text == Hira.TabelaZnakow[nrimg])
            {
                inputbox.BackColor = Color.White;

                do
                {
                    nrimg = Losowy.Next(ile);
                }
                while (Hiragana.Ustawienia(nrimg));

                pctbox.Image = imglsthira.Images[nrimg];
                if (loop == 0) Hira.poprawne++;
                loop = 0;
                good.Text = Hira.poprawne.ToString();
            }
            else
            {
                if (loop == 0) Hira.bledne++;
                wrong.Text = Hira.bledne.ToString();
                loop = 1;
                inputbox.BackColor = Color.Red;
            }
        }

        void SprawdzKata()
        {
            if (inputbox.Text == Kata.TabelaZnakow[nrimg])
            {
                inputbox.BackColor = Color.White;
                do
                {
                    nrimg = Losowy.Next(ile);
                }
                while (Katakana.Ustawienia(nrimg));
                pctbox.Image = imglstkata.Images[nrimg];
                if (loop == 0) Kata.poprawne++;
                loop = 0;
                good.Text = Kata.poprawne.ToString();
            }
            else
            {
                if (loop == 0) Kata.bledne++;
                wrong.Text = Kata.bledne.ToString();
                loop++;
                inputbox.BackColor = Color.Red;
            }
        }
        
        public KanaLearn()
        {
            InitializeComponent();
        }
      
        private void btnhira_Click(object sender, EventArgs e)
        {
            rodzaj = 1;
            loop = 0;
            ile = 107;
            Hira.poprawne = Hira.bledne = 0;
            good.Text = wrong.Text = "0";
            podpowiedz.Text = "";
            do
            {
                nrimg = Losowy.Next(ile);
            }
            while (Hiragana.Ustawienia(nrimg));
            pctbox.Image = imglsthira.Images[nrimg];
        }

        private void btnkata_Click(object sender, EventArgs e)
        {
            rodzaj = 2;
            loop = 0;
            ile = 134;
            Kata.poprawne = Kata.bledne = 0;
            good.Text = wrong.Text = "0";
            podpowiedz.Text = "";
            do
            {
                nrimg = Losowy.Next(ile);
            }
            while (Katakana.Ustawienia(nrimg));
            pctbox.Image = imglstkata.Images[nrimg];
        }

        private void btncheck_Click(object sender, EventArgs e)
        {
            podpowiedz.Text = "";
            if (rodzaj == 1)
            {
                SprawdzHira();
            }
            
            if (rodzaj == 2)
            {
                SprawdzKata();
            }
            inputbox.Text = "";
        }

        private void pctbox_Click(object sender, EventArgs e)
        {
            if (rodzaj == 1) podpowiedz.Text =  Hira.TabelaZnakow[nrimg];
            if (rodzaj == 2) podpowiedz.Text =  Kata.TabelaZnakow[nrimg];
        }

        private void menuItem5_Click(object sender, EventArgs e)
        {
            About Forma = new About();
            Forma.Show();
        }

        private void menuItem1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void menuItem4_Click(object sender, EventArgs e)
        {
            Help Pomoc = new Help();
            Pomoc.Show();
        }

        private void menuItem3_Click(object sender, EventArgs e)
        {
            Settings Ustawienia = new Settings();
            Ustawienia.Show();
        }

        private void inputbox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                podpowiedz.Text = "";
                if (rodzaj == 1)
                {
                    SprawdzHira();
                }

                if (rodzaj == 2)
                {
                    SprawdzKata();
                }
            inputbox.Text = "";
            }
            
        }
    }
}